package net.devkit.misc;

import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;

/**
 * 启动后的一些操作
 */
@Component("StartupHelper")
public final class StartupHelper implements
		ApplicationListener<ContextRefreshedEvent> {

	private static Boolean listenned = false;

	// 当ApplicationContext初始化或者刷新时触发该事件
	@Override
	public void onApplicationEvent(ContextRefreshedEvent event) {
		// 启动时,,会调用两次
		if (listenned)
			return;

		listenned = true;

		System.out.println("启动后的缓存数据执行...");
		execute();
		System.out.println("缓存数据,结束...");
	}

	private void execute() {

		// 绑定省市区缓存
		initAddressCache();
		// 绑定权限缓存
		initPmpowerCache();
	}

	/**
	 * 权限
	 */
	private void initPmpowerCache() {
		// 所有权限的缓存

	}

	/**
	 * 绑定省市区缓存
	 */
	private void initAddressCache() {
		
	}

}
